<template>
  <section class="jumbotron">
    <h3 class="jumbotron-heading">Search Github Users</h3>
    <div>
      <input type="text" placeholder="enter the name you search" v-model="keyword"/>&nbsp;
      <button @click="searchUsers">Search</button>
    </div>
  </section>
</template>

<script>
export default {
    name: 'Search',
    data() {
        return {
            keyword: ''
        }
    },
    methods: {
        searchUsers() {
            //搜索前数据显示加载中
            this.$bus.$emit('updateListData', {isFirst: false, isLoading: true, errMsg: '', users: []})
            let url = `https://api.github.com/search/users?q=${this.keyword}`
            //使用vue-resource发送请求，用法和axios一模一样
            this.$http.get(url)
                .then((response)=>{
                    console.log('请求成功了', response.data)
                    //搜索成功 把查询到的users传递给List组件
                    this.$bus.$emit('updateListData', {isLoading: false, errMsg: '', users: response.data.items})
                }, 
                (err)=>{
                    console.warn('请求失败了', err.message)
                    //搜索失败 把错误信息传给List组件
                    this.$bus.$emit('updateListData', {isLoading: false, errMsg: err.message, users: []})
                })
        }
    }

}
</script>

<style scoped>

</style>